Шрифт:
Интервал:
Закладка:
Класс AudioClip имеет свойства balance, cycleCount, pan, priority, rate и volume, определяющие баланс воспроизведения, количество циклов воспроизведения, сдвиг к левому или правому каналу, приоритет аудиоклипа при проигрывании нескольких аудиоклипов одновременно, скорость и громкость воспроизведения.
Методы play и stop класса AudioClip обеспечивают запуск и остановку аудио проигрывателя.
Здесь мы создаем аудиоклип, который воспроизводится при щелчке мышки в окне JavaFX-приложения.
Визуальные эффекты
Визуальные эффекты платформы JavaFX представлены пакетом scene. effect.
При этом базовым классом всех эффектов пакета scene. effect служит абстрактный класс Effect, имеющий реализации в виде набора классов.
Эффект, представленный Effect-объектом, связывается с узлом графа сцены с помощью метода setEffect () класса Node и обеспечивает создание нового изображения Node-узла, полученного в результате модификации исходного графического изображения Node-узла.
Blend-эффект берет в качестве одного входа изображение узла Node, к которому эффект присоединен с помощью метода setEffect класса Node, и смешивает его с другим эффектом Effect, который выступает в качестве другого входа Blend-эффекта.
При этом режим смешивания определяется свойством mode класса Blend.
Второй вход Blend-эффекта, содержащий Effect-объект, может быть двух типов – это может быть нижний или верхний вход операции смешивания.
Effect-объект устанавливается в качестве нижнего входа с помощью метода setBottomInput класса Blend, или в качестве верхнего входа – с помощью метода setTopInput класса Blend.
Режим смешивания изображения узла Node с Effect-объект устанавливается методом setMode класса Blend, принимающего в качестве аргумента поле перечисления BlendMode.
Помимо свойств mode, bottomInput и topInput класс Blend имеет свойство opacity, определяющее прозрачность верхнего ввода перед смешиванием, значение которого устанавливается с помощью метода setOpacity класса Blend.
Приведенный здесь код демонстрирует создание кнопки Button, при прохождении курсора мышки через которую графическое содержимое кнопки Button смешивается с линейным градиентом с помощью Blend-эффекта.
В качестве нижнего входа Blend-эффекта используется эффект ColorInput, обеспечивающий в качестве входа для другого эффекта прямоугольник, заполненный определенным цветом.
Таким образом, здесь мы имеем кнопку и прямоугольник цвета.
Методом setBottomInput мы подкладываем прямоугольник под кнопку и режимом BlendMode.LIGHTEN выбираем светлые цвета двух входов для получения конечного цвета.
Bloom-эффект берет в качестве входа изображение узла Node, и засвечивает яркие участки графического содержимого узла Node, основываясь на значении свойства threshold.
Свойство threshold класса Bloom определяет порог яркости пикселей, после которого они будут светиться, и может принимать значение от 0.0 до 1.0 (по умолчанию 0.3).
Другое свойство input класса Bloom, значение которого устанавливается с помощью метода setInput, может определять в качестве входа другой эффект Effect, создавая, таким образом, цепочку эффектов.
Приведенный здесь код демонстрирует создание кнопки Button, при прохождении курсора мышки через которую яркие участки графического содержимого кнопки Button засвечиваются, создавая иллюзию освещения ярким источником света.
Glow-эффект берет в качестве входа изображение узла Node, и засвечивает графическое содержимое узла Node, основываясь на значении свойства level.
Свойство level класса Glow определяет интенсивность свечения и может принимать значение от 0.0 до 1.0 (по умолчанию 0.3).
Другое свойство input класса Glow, значение которого устанавливается с помощью метода setInput, может определять в качестве входа другой эффект Effect, создавая, таким образом, цепочку эффектов.
Действие Glow-эффекта похоже на действие Bloom-эффекта, отличаясь тем, что Glow-эффект засвечивает изображение более равномерно.
Приведенный здесь код демонстрирует кнопку Button, имеющую ореол свечения, создаваемый с помощью свечения прямоугольника, расположенного под кнопкой.
При этом интенсивность свечения изменяется со временем с использованием анимации.
Здесь мы в панели StackPane накладываем кнопку на прямоугольник.
Создаем эффект Glow, значение level которого изменяем со временем.
И присоединяем этот эффект к прямоугольнику.
DropShadow-эффект обеспечивает отображение внешней тени для узла Node.
Параметры тени DropShadow-эффекта определяются с помощью установки значений свойств класса DropShadow.
Свойство radius определяет радиус фильтра размытия тени от 0.0 до 127.0 (по умолчанию 10.0),
свойство width – ширину фильтра размытия тени от 0.0 до 255.0 (по умолчанию 21.0),
свойство height – высоту фильтра размытия тени от 0.0 до 255.0 (по умолчанию 21.0),
свойство blurType – фильтр размытия тени (поле ONE_PASS_BOX, TWO_PASS_BOX, THREE_PASS_BOX (по умолчанию), GAUSSIAN перечисления BlurType),
свойство spread – соотношение между исходным изображением тени и фильтром размытия тени от 0.0 (по умолчанию) до 1.0,
свойство color – цвет тени (по умолчанию Color. BLACK),
свойство offsetX – горизонтальный сдвиг тени в пикселях,
свойство offsetY – вертикальный сдвиг тени в пикселях.
Установка значения свойства radius эквивалентна приведению значений свойств width и height к значению (2 * radius +1).
Свойство input класса DropShadow может определять в качестве входа другой эффект Effect, создавая, таким образом, цепочку эффектов.
Приведенный здесь код демонстрирует узел Text с тенью DropShadow и панелью слайдеров, с помощью которых можно изменять такие свойства тени как radius, spread, offsetX и offsetY.
Здесь мы создаем текст, к которому присоединяем эффект внешней тени.
Создаем слайдеры, свойство value которых связываем со свойствами эффекта.
Таким образом, меняя значение слайдера, мы автоматически меняем значение свойства эффекта.
Shadow-эффект создает из узла Node, к которому эффект присоединен с помощью метода setEffect класса Node, простую тень – монохромную копию изображения с размытыми краями.
Параметры тени Shadow-эффекта определяются с помощью установки значений свойств класса Shadow.
Свойство radius определяет радиус фильтра размытия тени от 0.0 до 127.0 (по умолчанию 10.0),
свойство width – ширину фильтра размытия тени от 0.0 до 255.0 (по умолчанию 21.0),
свойство height – высоту фильтра размытия тени от 0.0 до 255.0 (по умолчанию 21.0),
свойство blurType – фильтр размытия тени (поле ONE_PASS_BOX, TWO_PASS_BOX, THREE_PASS_BOX (по умолчанию), GAUSSIAN перечисления BlurType),
свойство color – цвет тени (по умолчанию Color. BLACK).
Установка значения свойства radius эквивалентна приведению значений свойств width и height к значению (2 * radius +1).
В отличие от тени DropShadow, здесь нет сдвига тени от узла, и нет двух изображений тени и самого узла, здесь есть только изображение тени.
Свойство input класса Shadow может определять в качестве входа другой эффект Effect, создавая, таким образом, цепочку эффектов.
Приведенный здесь код демонстрирует кнопку Button, имеющую ореол, создаваемый с помощью тени другой кнопки, расположенной под первой кнопкой.
При этом прозрачность тени изменяется со временем с использованием анимации.
Здесь у нас есть кнопка, которая накладывается на другую кнопку.
Из нижней кнопки мы делаем тень с помощью эффекта Shadow.
InnerShadow-эффект обеспечивает отображение внутренней тени для узла Node.
Параметры тени InnerShadow-эффекта определяются с помощью установки значений свойств класса InnerShadow.
Свойство radius определяет радиус фильтра размытия тени от 0.0 до 127.0 (по умолчанию 10.0),
свойство width – ширину фильтра размытия тени от 0.0 до 255.0 (по умолчанию 21.0),
свойство height – высоту фильтра размытия тени от 0.0 до 255.0 (по умолчанию 21.0),
свойство blurType – фильтр размытия тени (поле ONE_PASS_BOX, TWO_PASS_BOX, THREE_PASS_BOX (по умолчанию), GAUSSIAN перечисления BlurType),
свойство choke – соотношение между исходным изображением тени и фильтром размытия тени от 0.0 (по умолчанию) до 1.0,
свойство color – цвет тени (по умолчанию Color. BLACK),
свойство offsetX – горизонтальный сдвиг тени в пикселях,
свойство offsetY – вертикальный сдвиг тени в пикселях.
Установка значения свойства radius эквивалентна
- C# для профессионалов. Том II - Симон Робинсон - Программирование
- Как спроектировать современный сайт - Чои Вин - Программирование
- Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2 - Александр Фролов - Программирование
- Программирование на Java - Н.А. Вязовик - Программирование
- ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ. РУКОВОДСТВО ПО УПРАВЛЕНИЮ ДОКУМЕНТИРОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ - ГОССТАНДАРТ РОССИИ - Программирование
- Каждому проекту своя методология - Алистэр Коуберн - Программирование
- Сделай видеоигру один и не свихнись - Слава Грис - Программирование / Руководства
- Как почистить сканы книг и сделать книгу - IvanStorogev? KpNemo - Программирование